package com.btpj.buildsrc

/**
 * 利用kotlin+Gradle的方式管理包
 * 1、新建名为buildSrc的library for kotlin的module
 * 2、将buildSrc的build.gradle改为build.gradle.kts
 * 3、删除不需要的文件夹如Lib
 * 4、新建管理类来管理插件包
 * 5、再项目的gradle中导入管理类并调用
 *
 * @author LTP 2020/7/30
 */
object DepLibs {
    const val compileSdkVersion = 29
    const val buildToolsVersion = "29.0.3"
    const val minSdkVersion = 21
    const val targetSdkVersion = 29
    const val versionCode = 1
    const val versionName = "1.0"
    const val applicationId = "com.btpj.wanandroid_jetpack"

    const val kotlinVersion = "1.3.60"
    const val kotlinLib = "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion"
    const val kotlinReflect = "org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion"

    const val coreKtx = "androidx.core:core-ktx:1.3.0"
    const val appcompat = "androidx.appcompat:appcompat:1.1.0"
    const val material = "com.google.android.material:material:1.1.0"
    const val constraintlayout = "androidx.constraintlayout:constraintlayout:1.1.3"
    const val junit = "junit:junit:4.12"
    const val extJunit = "androidx.test.ext:junit:1.1.0"
    const val espressoCore = "androidx.test.espresso:espresso-core:3.1.1"
    const val paging = "androidx.paging:paging-runtime:2.1.1"
    const val baseRecyclerViewAdapterHelper =
        "com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.4"

    private const val navigationVersion = "2.1.0"
    const val navigationUiKtx = "androidx.navigation:navigation-ui-ktx:${navigationVersion}"
    const val navigationFragmentKtx =
        "androidx.navigation:navigation-fragment-ktx:${navigationVersion}"

    private const val lifecycleVersion = "2.2.0"
    const val lifecycleViewmodelKtx =
        "androidx.lifecycle:lifecycle-viewmodel-ktx:${lifecycleVersion}"
    const val lifecycleExt = "androidx.lifecycle:lifecycle-extensions:${lifecycleVersion}"

    //viewpager2
    const val viewPager2 = "androidx.viewpager2:viewpager2:1.0.0"

    // retrofit
    const val retrofit = "com.squareup.retrofit2:retrofit:2.8.1"
    const val converterGson = "com.squareup.retrofit2:converter-gson:2.8.1"
    const val gson = "com.google.code.gson:gson:2.8.6"
    const val loggingInterceptor = "com.squareup.okhttp3:logging-interceptor:4.0.0"
    const val glide = "com.github.bumptech.glide:glide:4.11.0"

    // 协程
    const val coroutines = "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.6"

    // 轮播图
    const val banner = "com.youth.banner:banner:2.0.12"

    // 下拉刷新上拉加载
    const val smartRefreshLayout = "com.scwang.smartrefresh:SmartRefreshLayout:1.1.2"

    //数据存储
    const val mmkv = "com.tencent:mmkv-static:1.1.1"

    // Koin
    private const val koinVersion = "2.1.5"
    const val koinScop = "org.koin:koin-androidx-scope:${koinVersion}"
    const val KoinViewModel = "org.koin:koin-androidx-viewmodel:${koinVersion}"
    const val koinFragmet = "org.koin:koin-androidx-fragment:${koinVersion}"
    const val koinExt = "org.koin:koin-androidx-ext:${koinVersion}"

    //arouter
    const val aroutreApi = "com.alibaba:arouter-api:1.5.0"
    const val arouterCompiler = "com.alibaba:arouter-compiler:1.2.2"
}